/*
 * @Author       : ljkt
 * @Version      : 2.0
 * @Date         : 2021-10-05 22:38:10
 * @LastEditors: ljkt
 * @LastEditTime: 2023-09-25 15:20:46
 * @Description  :
 */

#ifndef _Drv_IoI_H_
#define _Drv_IoI_H_

#ifdef IOI_ENABLE

#define Drv_IoI_Get(name) (gDrv_IoI[name].Sta)

typedef struct
{
    u8_t Name;
    e_hal_mcu_pin_t Pinx;
    e_hal_gpio_type_t type;
    e_hal_gpio_sta_t Sta;
    u8_t Exte_Inter;
} s_drv_ioi_config_t;

typedef struct
{
    u8_t Sta;
    Ram_Const s_drv_ioi_config_t *Conf;
} s_drv_ioi_t;

extern s_drv_ioi_t gDrv_IoI[Drv_IoI_MaxCnt];

void Drv_IoI_Init(void);
void Drv_IoI_Scan(void);
u8_t Drv_IoI_Get_Io(u8_t name);
#endif

#endif
